neo4j
标量函数
Scalar functions
coalesce()
coalesce(expression [, expression]*)
- 返回所给表达式中第一个不为null的值;
- 给定值都是null则返回null;
endNode()
endNode(relationship)
- 返回所给关系的尾结点;
- relationship为null时返回null;
head()
head(expression)
- 返回给定表达式的list的第一个元素;
- express需要返回一个list;
- head(null)、head([])与head([null,1])都会返回null;
id()
id(expression)
返回值:Integer
- 返回expression表达的节点/关系的id;
- 每个节点/关系实例都有一个独特的id,在同一个数据库中不会重复;
- id(null)返回null;
last()
last(expression)
返回expression表达的list中最后一个元素
- expression应表达一个list;
- last(null)、last([])会返回null;
- 列表本身就是null,也会返回null;
length()
length(path)
返回值:Integer
返回一条链路的长度,即链路上关系的个数,如:
matlab
MATCH p = (a)-->(b)-->(c)
RETURN length(p) AS length
该查询段的返回结果应为由2组成的单列表,表头为length
properties()
properties(expression)
返回值:Map
返回expression表达的节点/关系的所有属性值;
若expression本身就是一个Map,则返回它本身;
randomUUID()
randomUUID()
返回值:String
返回一个128bit的随机值,该值全局唯一
Universally Unique Identifier,亦称Globally Unique Identifier
size()
返回值:Integer
list
size(list)
返回list中元素的个数
- size(null)会返回null;
pattern expression
size(pattern expression)
当pattern expression返回一个list时,size返回该list的元素个数,如:
MATCH(n)
WHERE n.name = 'JOJO'
RETURN size((n)-[defeat]->())
(n)-[defeat]->()返回一个list,其中含有所有JOJO与其打败过的人及“打败(defeat)”这一关系所组成的路径,size返回这一list中元素的个数
String
C++
size(string)
返回string中所包含字符的个数
startNode()
startNode(relationship)
返回值:Node
返回一个关系的头节点
startNode(null) 会返回null
timestamp()
timestamp()
返回值:Integer
返回当前时间与midnight, January 1, 1970 UTC之间的时间间隔,单位毫秒
toBoolean()
toBoolean(expression)
返回值:Boolean
将expression表达的String/Integer/Boolean值转为一个Boolean值
- toBoolean(null)会返回null;
- expression本身就是一个Boolean值,则会返回它本身;
- 如果expression表达的String本身不是"true"或"false"(词语前后可以带空格),则会返回null;
- 如果expression返回一个整数
- 如果expression表达的不是String/Integer/Boolean,则会返回一个错误;
toBooleanOrNull()
toBooleanOrNull(expression)
返回值:Boolean或null
相较 toBoolean(),toBooleanOrNull()会在expression表达的不是String/Integer/Boolean时返回null
toFloat()
toFloat(expression)
返回值:Float
将expression表达的Integer/Float/String转为一个Float值
- toFloat(null)会返回null;
- 如果expression本身是一个Float,则会返回它本身;
- 如果expression表达的内容不能被识别出一个浮点数,则会返回null;
- 如果expression不是Integer/Float/String,则会返回一个错误;
toFloatOrNull()
toFloatOrNull(expression)
返回值:Boolean或null
相较 toFloat(),toFloatOrNull()会在expression表达的不是Integer/Float/String时返回null
toInteger()
toInteger(expression)
返回值:Integer
将expression表达的Boolean/Integer/Float/String转成一个Integer值
- toInteger(null) 会返回null;
- 如果expression表达的是一个Integer,则会返回它本身;
- 如果expression表达的内容不能被识别为一个整数,则会返回null;
- 如果expression表达的内容是一个Boolean
- 如果expression表达的不是Boolean/Integer/Float/String,则会返回一个错误;
toIntegerOrNull()
toIntegerOrNull(expression)
返回值:Integer或null
相较于toInteger(),toIntegerOrNull()会在expression表达的不是Boolean/Integer/Float/String的时返回null
type()
type(relationship)
返回值:Sting
返回relationship的标签名